package com.ias.agdis_r.bean.task;

import com.ias.agdis_r.module.MessageModel;
import com.ias.agdis_r.module.ParameterModel;
import com.ias.agdis_r.util.MyMessage;
import com.ias.agdis_r.util.S;

/**
 * 转发任务临时信息
 * 
 * @author zhyj
 * 
 */
public class SendTaskInfoBean {
	private String tasklist = null;// 任务列表
	private int newnum = 0;// 新任务个数
	private String sHccMonitorItem = null;//HCC旧协议临时使用存放监控项内容

	public String getTasklist() {
		return tasklist;
	}

	public void setTasklist(String tasklist) {
		this.tasklist = tasklist;
	}

	public int getNewnum() {
		return newnum;
	}

	public void setNewnum(int newnum) {
		this.newnum = newnum;
	}

	public String getPidOfFke(String _sFke) {
		String sPidOfTnb = null;//指定FKE对应的IDX
		if (tasklist != null) {
			String[] tasklistArray = null;
			if (S.isNotEmpty(tasklist)) {
				tasklistArray = tasklist
						.split(ParameterModel.VALUE_REGULAREXPRESSION);
				for (int n = 0; n < tasklistArray.length; n++) {
					String taskDataTmp = tasklistArray[n].toString();
					if (MyMessage.getValue(taskDataTmp,
							MessageModel.FKE, 3).equals(_sFke)) {
						sPidOfTnb = MyMessage.getValue(taskDataTmp,
										MessageModel.PID,3);
					}
				}
			}
		}
		return sPidOfTnb;
	}
	
	public String getMonitorList() {
		return sHccMonitorItem;
	}

	public void setMonitorList(String _sMonitorList) {
		this.sHccMonitorItem = _sMonitorList;
	}
	
	public String getMonitorItemOfTnb(String _sTnb) {
		String sMonitorItemOfTnb = null;
		if (sHccMonitorItem != null) {
			String[] monitorListArray = null;
			if (S.isNotEmpty(sHccMonitorItem)) {
				monitorListArray = sHccMonitorItem
						.split(ParameterModel.VALUE_REGULAREXPRESSION);
				for (int n = 0; n < monitorListArray.length; n++) {
					String taskDataTmp = monitorListArray[n].toString();
					if (MyMessage.getValue(taskDataTmp,
							MessageModel.TNB, 3).equals(_sTnb)) {
						sMonitorItemOfTnb = taskDataTmp;
					}
				}
			}
		}
		return sMonitorItemOfTnb;
	}
	
	public String getTaskOfTnb(String _sTnb) {
		String sTask = null;
		if (tasklist != null) {
			String[] taskListArray = null;
			if (S.isNotEmpty(tasklist)) {
				taskListArray = tasklist
						.split(ParameterModel.VALUE_REGULAREXPRESSION);
				for (int n = 0; n < taskListArray.length; n++) {
					String taskDataTmp = taskListArray[n].toString();
					if (MyMessage.getValue(taskDataTmp,
							MessageModel.TNB, 3).equals(_sTnb)) {
						sTask = taskDataTmp;
					}
				}
			}
		}
		return sTask;
	}
	
	/**
	 * 检测任务列表中是否含有此TNB的任务,且状态不为TEND
	 * @return boolean
	 */
	public boolean checkTaskOfTnb(String _sTnb)
	{
		//如果参数TNB为空或内存中没有存储任务返回false
		if(S.isEmpty(_sTnb)||S.isEmpty(tasklist))
		{
			return false;
		}
		//如果任务列表中含有此任务
		if(tasklist.indexOf(MessageModel.TNB+_sTnb)>-1)
		{
			String sTask = getTaskOfTnb(_sTnb);
			String pid = MyMessage.getValue(sTask, MessageModel.PID, 3);
			//如果任务状态是TEND返回false,否则返回true
			if(pid.equals(MessageModel.TEND))
			{
				return false;
			}
			else
			{
				return true;
			}
		}
		else
		{
			return false;
		}
		
	}
}
